<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
    <head>
        <title>CruiseControl.NET : StarTeam Source Control Block</title>
	    <link rel="stylesheet" href="styles/site.css" type="text/css" />
        <META http-equiv="Content-Type" content="text/html; charset=UTF-8">	    
    </head>

    <body>
	    <table class="pagecontent" border="0" cellpadding="0" cellspacing="0" width="100%" bgcolor="#ffffff">
		    <tr>
			    <td valign="top" class="pagebody">
				    <div class="pageheader">
					    <span class="pagetitle">
                            CruiseControl.NET : StarTeam Source Control Block
                                                    </span>
				    </div>
				    <div class="pagesubheading">
					    This page last changed on Sep 11, 2008 by <font color="#0050B2">williams</font>.
				    </div>

				    <h3><a name="StarTeamSourceControlBlock-StarTeamConfigurationExample"></a>StarTeam Configuration Example</h3>

<p>For StarTeam you must specify the executable, project, username and password. You may also specify the host, port and path. The host defaults to 127.0.0.1. The port to 49201. The path to the empty string.</p>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="code-xml"><span class="code-tag">&lt;sourcecontrol type=<span class="code-quote">"starteam"</span>&gt;</span>
   <span class="code-tag">&lt;executable&gt;</span>c:\starteam\stcmd.exe<span class="code-tag">&lt;/executable&gt;</span>
   <span class="code-tag">&lt;project&gt;</span>ccnet<span class="code-tag">&lt;/project&gt;</span>
   <span class="code-tag">&lt;username&gt;</span>buildguy<span class="code-tag">&lt;/username&gt;</span>
   <span class="code-tag">&lt;password&gt;</span>buildguypw<span class="code-tag">&lt;/password&gt;</span>
   <span class="code-tag">&lt;host&gt;</span>thebuildmachine<span class="code-tag">&lt;/host&gt;</span>
   <span class="code-tag">&lt;port&gt;</span>49201<span class="code-tag">&lt;/port&gt;</span>
   <span class="code-tag">&lt;path&gt;</span>release2.0<span class="code-tag">&lt;/path&gt;</span>
   <span class="code-tag">&lt;autoGetSource&gt;</span>true<span class="code-tag">&lt;/autoGetSource&gt;</span>
   <span class="code-tag">&lt;folderRegEx&gt;</span>customRegEx<span class="code-tag">&lt;/folderRegEx&gt;</span>
   <span class="code-tag">&lt;fileRegEx&gt;</span>customRegEx<span class="code-tag">&lt;/fileRegEx&gt;</span>
   <span class="code-tag">&lt;fileHistoryRegEx&gt;</span>customRegEx<span class="code-tag">&lt;/fileHistoryRegEx&gt;</span>
   <span class="code-tag">&lt;timeout units=<span class="code-quote">"minutes"</span>&gt;</span>10<span class="code-tag">&lt;/timeout&gt;</span>
<span class="code-tag">&lt;/sourcecontrol&gt;</span></pre>
</div></div>

<h3><a name="StarTeamSourceControlBlock-ConfigurationElements%3A"></a>Configuration Elements:</h3>

<table class='confluenceTable'><tbody>
<tr>
<th class='confluenceTh'> Node </th>
<th class='confluenceTh'> Description </th>
<th class='confluenceTh'> Type </th>
<th class='confluenceTh'> Default </th>
<th class='confluenceTh'> Required </th>
</tr>
<tr>
<td class='confluenceTd'> executable </td>
<td class='confluenceTd'> The local path for the StarTeam command-line client (eg. c:\starteam\stcmd.exe) </td>
<td class='confluenceTd'> string </td>
<td class='confluenceTd'> "stcmd.exe" </td>
<td class='confluenceTd'> true </td>
</tr>
<tr>
<td class='confluenceTd'> username </td>
<td class='confluenceTd'> StarTeam ID that CCNet should use </td>
<td class='confluenceTd'> string </td>
<td class='confluenceTd'> N/A </td>
<td class='confluenceTd'> true </td>
</tr>
<tr>
<td class='confluenceTd'> password </td>
<td class='confluenceTd'> Password for the StarTeam user ID </td>
<td class='confluenceTd'> string </td>
<td class='confluenceTd'> N/A </td>
<td class='confluenceTd'> true </td>
</tr>
<tr>
<td class='confluenceTd'> host </td>
<td class='confluenceTd'> The IP address or machine name of the StarTeam server. </td>
<td class='confluenceTd'> string </td>
<td class='confluenceTd'> N/A </td>
<td class='confluenceTd'> false </td>
</tr>
<tr>
<td class='confluenceTd'> port </td>
<td class='confluenceTd'> The port on the StarTeam server to connect to. </td>
<td class='confluenceTd'> integer </td>
<td class='confluenceTd'> 49201 </td>
<td class='confluenceTd'> false </td>
</tr>
<tr>
<td class='confluenceTd'> project </td>
<td class='confluenceTd'> The StarTeam project (and view) to monitor (eg. project/view) </td>
<td class='confluenceTd'> string </td>
<td class='confluenceTd'> N/A </td>
<td class='confluenceTd'> true </td>
</tr>
<tr>
<td class='confluenceTd'> path </td>
<td class='confluenceTd'> The path to monitor. </td>
<td class='confluenceTd'> string </td>
<td class='confluenceTd'> "" </td>
<td class='confluenceTd'> false </td>
</tr>
<tr>
<td class='confluenceTd'> autoGetSource </td>
<td class='confluenceTd'> Instruct CCNet whether or not you want it to automatically retrieve the latest source from the repository. </td>
<td class='confluenceTd'> bool </td>
<td class='confluenceTd'> true </td>
<td class='confluenceTd'> false </td>
</tr>
<tr>
<td class='confluenceTd'> overrideViewWorkingDir </td>
<td class='confluenceTd'> If set, use the &#45;rp option to use a different View Working Directory </td>
<td class='confluenceTd'> string </td>
<td class='confluenceTd'> false </td>
<td class='confluenceTd'> "" </td>
</tr>
<tr>
<td class='confluenceTd'> overrideFolderWorkingDir </td>
<td class='confluenceTd'> If set, use the &#45;fp option to use a different Folder Working Directory. Will not be used if <tt>overrideViewWorkingDir</tt> is set. </td>
<td class='confluenceTd'> string </td>
<td class='confluenceTd'> false </td>
<td class='confluenceTd'> "" </td>
</tr>
<tr>
<td class='confluenceTd'> folderRegEx </td>
<td class='confluenceTd'> Allows you to use your own RegEx to parse StarTeam's folder output. See RegEx's below. </td>
<td class='confluenceTd'> string </td>
<td class='confluenceTd'> false </td>
<td class='confluenceTd'> See below </td>
</tr>
<tr>
<td class='confluenceTd'> fileRegEx </td>
<td class='confluenceTd'> Allows you to use your own RegEx to parse StarTeam's file output. See RegEx's below. </td>
<td class='confluenceTd'> string </td>
<td class='confluenceTd'> false </td>
<td class='confluenceTd'> See below </td>
</tr>
<tr>
<td class='confluenceTd'> fileHistoryRegEx </td>
<td class='confluenceTd'> Allows you to use your own RegEx to parse StarTeam's file history. See RegEx's below. </td>
<td class='confluenceTd'> string </td>
<td class='confluenceTd'> false </td>
<td class='confluenceTd'> See below </td>
</tr>
<tr>
<td class='confluenceTd'> timeout </td>
<td class='confluenceTd'> Sets the timeout period for the source control operation. See <a href="Timeout Configuration.html" title="Timeout Configuration">Timeout Configuration</a> for details. </td>
<td class='confluenceTd'> Timeout </td>
<td class='confluenceTd'> 10 minutes </td>
<td class='confluenceTd'> false </td>
</tr>
<tr>
<td class='confluenceTd'> issueUrlBuilder </td>
<td class='confluenceTd'> Converts the comment (or parts from it) into an url pointing to the issue for this build. <br clear="all" />
See <a href="IssueUrlBuilder.html" title="IssueUrlBuilder">Issue Builder</a> for more details <br clear="all" /> </td>
<td class='confluenceTd'> Group </td>
<td class='confluenceTd'> N/A </td>
<td class='confluenceTd'> false <br clear="all" /> </td>
</tr>
</tbody></table>

<h3><a name="StarTeamSourceControlBlock-RegExConfiguration"></a>RegEx Configuration</h3>

<p>CruiseControl.NET uses StarTeam's command line interface to find changes submitted to Source Control. 3 regular expressions are used in doing this, as specified above. You have the option of changing these regular expressions to choose how your instance of CruiseControl.NET parses StarTeam output. It is recommended if you do this that you download the source version of CruiseControl.NET to see the default RegEx's and how they are used.</p>

<p>One suggested alternative RegEx so far is for the <tt>fileHistoryRegEx</tt>, as follows:</p>
<div class="preformatted panel" style="border-width: 1px;"><div class="preformattedContent panelContent">
<pre>^Revision: (?&lt;file_revision&gt;\S+) View: (?&lt;view_name&gt;.+) Branch Revision: (?&lt;branch_revision&gt;\S+).\nAuthor: (?&lt;author_name&gt;.*) Date: (?&lt;date_string&gt;.*) \w+\r\n(?&lt;change_comment&gt;.*)
</pre>
</div></div>
<p>(Note that this is all one line)</p>

				    
                    			    </td>
		    </tr>
	    </table>
	    <table border="0" cellpadding="0" cellspacing="0" width="100%">
			<tr>
				<td height="12" background="http://confluence.public.thoughtworks.org//images/border/border_bottom.gif"><img src="images/border/spacer.gif" width="1" height="1" border="0"/></td>
			</tr>
		    <tr>
			    <td align="center"><font color="grey">Document generated by Confluence on Sep 29, 2009 20:59</font></td>
		    </tr>
	    </table>
    </body>
</html>